class ValidateTool {
  static bool validateChineseMobile(String input) {
    if (input.isEmpty) return false;
    // 正则表达式支持号段：13/14/15/16/17/18/19开头，第二位支持0-9，新增支持虚拟运营商号段
    final RegExp mobileReg = RegExp(
      r'^1(3\d|4[5-9]|5[0-35-9]|6[2567]|7[0-8]|8\d|9[0-35-9])\d{8}$',
    );
    return mobileReg.hasMatch(input);
  }

  /// 身份证号基础格式校验（支持18位）
  static bool validateIDCard(String input) {
    if (input.isEmpty || input.length != 18) return false;

    final RegExp idReg = RegExp(
      r'^[1-9]\d{5}(18|19|20)\d{2}(0[1-9]|1[0-2])(0[1-9]|[12]\d|3[01])\d{3}[\dX]$',
      caseSensitive: false, // 忽略大小写（自动处理末尾X/x）
    );
    return idReg.hasMatch(input.toUpperCase());
  }
}
